module(
    name = "rules_spring",
    version = "2.6.1",
    compatibility_level = 2,
    repo_name = "rules_spring",
)

# Python for dupe class checking support
bazel_dep(name = "rules_python", version = "0.40.0")

# For License support
bazel_dep(name = "rules_license", version = "1.0.0")


# DEV DEPENDENCIES

# Maven dependencies for the examples
bazel_dep(name = "rules_jvm_external", version = "6.6", dev_dependency = True)
maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True)
maven.install(
    artifacts = [
        "org.slf4j:slf4j-api:2.0.13",
        "org.springframework.boot:spring-boot:3.3.5",
        "org.springframework.boot:spring-boot-actuator:3.3.5",
        "org.springframework.boot:spring-boot-actuator-autoconfigure:3.3.5",
        "org.springframework.boot:spring-boot-autoconfigure:3.3.5",
        "org.springframework.boot:spring-boot-configuration-processor:3.3.5",
        "org.springframework.boot:spring-boot-loader:3.3.5",
        "org.springframework.boot:spring-boot-loader-tools:3.3.5",
        "org.springframework.boot:spring-boot-starter:3.3.5",
        "org.springframework.boot:spring-boot-starter-actuator:3.3.5",
        "org.springframework.boot:spring-boot-starter-freemarker:3.3.5",
        "org.springframework.boot:spring-boot-starter-jdbc:3.3.5",
        "org.springframework.boot:spring-boot-starter-jetty:3.3.5",
        "org.springframework.boot:spring-boot-starter-logging:3.3.5",
        "org.springframework.boot:spring-boot-starter-security:3.3.5",
        "org.springframework.boot:spring-boot-starter-test:3.3.5",
        "org.springframework.boot:spring-boot-starter-web:3.3.5",
        "org.springframework.boot:spring-boot-test:3.3.5",
        "org.springframework.boot:spring-boot-test-autoconfigure:3.3.5",
        "org.springframework.boot:spring-boot-starter-thymeleaf:3.3.5",

        "org.springframework:spring-aop:6.1.14",
        "org.springframework:spring-aspects:6.1.14",
        "org.springframework:spring-beans:6.1.14",
        "org.springframework:spring-context:6.1.14",
        "org.springframework:spring-context-support:6.1.14",
        "org.springframework:spring-core:6.1.14",
        "org.springframework:spring-expression:6.1.14",
        "org.springframework:spring-jdbc:6.1.14",
        "org.springframework:spring-test:6.1.14",
        "org.springframework:spring-tx:6.1.14",
        "org.springframework:spring-web:6.1.14",
        "org.springframework:spring-webmvc:6.1.14",

        # intentionally ancient version annotation-api; in demoapp we use
        # a filter to exclude this dependency
        "javax.annotation:javax.annotation-api:1.3.2",

        # test deps
        "junit:junit:4.13.2",
        "org.hamcrest:hamcrest-core:2.2",
    ],
    lock_file = "//:maven_install.json",
)

use_repo(maven, "maven")
